import { definePropType } from '@/utils'

export interface FormFieldOptions {
  label: string
  value: string | number
  disabled?: boolean
}

export default {
  options: {
    type: definePropType<FormFieldOptions[]>(Array),
    default: () => []
  },
  /* 
    v-model的主要原因是由于value和input事件可能另有它用，
    那么我们可不可以直接使用另外的属性和方法，而不需要去通过model进行定义。
    vue3中就实现了这个功能，v-model绑定的不再是value，而是modelValue，接收的方法也不再是input，而是update:modelValue                      
    原文链接：https://blog.csdn.net/weixin_41056807/article/details/121475817
  */
  modelValue: [String, Number, Array]
}

export const defaultEmits = {
  'update:modelValue': (val: any) => val
}
